package demo01Singleton;

/**
 * @author: WangPeng
 * @createTime: 2022/11/07 18:14
 * @description:
 * @version: v1.0
 */
public class SingletonLazyTypeLock {
    //第一步：声明一个静态的本类对象--懒汉式。
    private static SingletonLazyTypeLock singleton ;
    //第二步：私有化构造方法--外界无法直接创建该类的对象
    private SingletonLazyTypeLock(){ }
    //第三步：提供一个静态方法--供外界获取该类对象
    public static SingletonLazyTypeLock getSingleton(){
        //加锁
        synchronized (SingletonLazyTypeLock.class){
            if (singleton == null){
                singleton=new SingletonLazyTypeLock();
            }
            return singleton;
        }
    }
    public void show(){
        System.out.println("hahahahaha");
    }
}
